Tableau Server のサーバーイベントの通知設定を Amazon SES で行う
Tableau Server では、サーバーイベントの通知が可能です。
Amazon が提供するEメール送受信サービス Amazon SES(Simple Email Service)を使って、サーバーイベント通知の構成を行ってみましたので、その際の手順を記事としました。
前提条件
- Tableau Server
- バージョン:2023.3.0
- OS:Windows Server 2019
- 構成
- 前段に ALB のある以下の記事と同様の構成です
- ALB 配下に Tableau Server をインストールする | DevelopersIO
- Route53 のネームサーバで管理されたドメインを取得済みであること
サーバー イベント通知
Tableau Server では、サーバーイベント通知として以下のイベント発生時に、指定のメールアドレスに通知するように構成できます。この際、通知設定のためには、後述する手順で事前に Tableau Server で SMTP セットアップの構成を行います。
コンテンツの更新
- 抽出更新の失敗
- 抽出更新の失敗時に、データ ソースおよびワークブックの所有者にメールが送信されます
- 所有者は、アカウント情報としてメールアドレスを設定しておく必要があります
- 抽出更新の失敗時に、データ ソースおよびワークブックの所有者にメールが送信されます
- ユーザーのサブスクリプション ビュー
- 既定で無効
- ユーザーがワークブックやビューをサブスクライブすると、ビューのスナップショットがそのユーザーにメールで送信されます
サーバーの健全性モニタリング
- サーバー ステータスの変化
- 既定で無効
- データ エンジン、ファイル ストア、ゲートウェイ、またはリポジトリ サーバー プロセスが停止または再開するとき、または最初の Tableau Server ノードが停止または再開する際に、メールが送信されます
- 単一サーバー構成の場合、健全性に関するアラートは、Tableau Server 稼働中のみ送信されます
- つまり「DOWN (ダウン)」アラートは送信されません。フェールオーバーのために構成された分散インストールを実行している場合に、アクティブなリポジトリまたはデータ エンジンのインスタンスに障害が発生した際に、アラートが通知されます
- デスクトップ ライセンス レポート
- このオプションが有効になっている場合、Tableau Server はデスクトップ ライセンス レポートの管理レポートを生成して表示するようです
- ドライブの空き容量
- 既定で無効
- Tableau Server のディスク空き容量について、未使用のドライブ空き容量がしきい値を下回っている場合に通知を送信するように構成できます
Amazon SES の設定
SMTP 認証情報の作成
「SMTP 設定」より「SMTP 認証情報の作成」を行います。このメニューよりses:SendRawEmail
が許可ポリシーが付与された IAM ユーザーを作成できます。
ユーザーを作成すると SMTP 認証情報が表示されるので「SMTP ユーザー名」「SMTP パスワード」を安全な場所に控えておきます。
この情報を後ほど Tableau Server で指定します。
ID の検証
ドメインの取得は Route53 以外で行っていたので、以下の記事と同様の手順を行います。
「ID の作成」より [ドメイン] を選択し、ドメインを入力します。
すでに Route53 でドメインの管理を行っていたので「ドメインの検証」に関する設定は以下としました。 [DNS レコードの Route53 への発行] にチェックを入れることで、自動的に CNAME レコードを追加してくれます。
なお、DKIM(Domain Keys Identified Mail)に関しては以下がとても参考になります。
Amazon SES Easy DKIM設定サポート資料 | AWS
設定後、しばらくすると ID のステータスが「検証済み」に変わります。
Tableau Server:SMTP セットアップの構成
ここでは、TSM(Tableau Services Manager)から設定を行います。
なお、SMTP で TLS を有効にして構成するには、TSM CLI(TSM コマンド)を使用する必要があります。またこの際、Tableau Server では、STARTTLS のみがサポートされています。
TSM の「構成 > 通知 > メールサーバー」よりメールサーバーの構成を行います。ここでは、下図のように設定を行いました。
各設定項目は以下の通りです。
項目 | 概要 |
---|---|
SMTPサーバーアドレス | SMTP サーバーのアドレス。Amazon SES の場合、SMTP エンドポイントを指定します。 |
ユーザー名 | SMTP 認証情報の作成で作成した認証情報のうち「SMTP ユーザー名」を指定します。 |
パスワード | SMTP 認証情報の作成で作成した認証情報のうち「SMTP パスワード」を指定します。 |
ポート番号 | 使用するポート番号を指定します。 |
すべてのメールの送信元 | メール送信元となる検証済みの任意のアドレスを指定します。 |
サーバー状態のメール送信先 | イベントのうち、「サーバーの健全性モニタリング」にあたるサーバー状態に関するメールの受信先を指定します。一般的には Tableau Server の管理者が使用するアドレスを指定します。 |
Tableau Server の URL | Tableau Server の URLを指定することで、メール内のリンクから Tableau Server にアクセスできるようになります。 |
設定完了後、Tableau Server を再起動します。
メールサーバーへの到達テスト
コマンドプロンプト等からtsm email test-smtp-connection
コマンドを実行することで、メールサーバーへの到達確認が可能です。
>tsm email test-smtp-connection SMTP 構成 SMTP サーバー email-smtp.us-east-2.amazonaws.com SMTP ポート 587 SMTP アカウント XXXXXXXX TLS が有効 false TLS が必要 false TLS 暗号 (既定) TLS バージョン (既定) TLS がすべてのホストを信頼 false TLS がサーバー ID を確認 false メール サーバーに正常に接続しました。
イベント通知の設定
SMTP 設定とあわせて通知の対象となるイベントを設定可能です。
こちらも TSM から設定を行えます。TSM の「構成 > 通知 > イベント」よりイベント設定は下図のようになっています。
各項目の内容は、上述の「サーバー イベント通知」に記載の通りです。
「サーバー状態の監視」「ドライブの空き容量」など、一部既定では通知が無効となっている項目があるのでご注意ください。
メール通知の例
抽出更新の失敗
抽出更新失敗の場合、「抽出名 Extract Refresh Failed」の件名で下図のようなメールが抽出の所有者のメールアドレス宛に届きます。
プロセスの再開
Tableau Server を起動する場合、起動とあわせて下図のようなメールが「サーバー状態のメール送信先」に届きました。
トラブルシューティング
メールが届かない場合、以下をご確認ください。
Tableau Server からエンドポイントへのアクセス可否
プライベートサブネット上にインスタンスがある場合などは、NATゲートウェイや VPC エンドポイントを使用します。VPC エンドポイントを使用する場合、セキュリティグループでインスタンスから、E メールの送信に使用するポート番号が指定されているかご確認ください。
VPC エンドポイントが構成されている場合に AWS SES SMTP サーバーでメールを受信しない | Tableau Knowledge Base
Amazon SES を用いた VPC エンドポイントの設定 | AWS
Tableau Server ユーザーのアカウント設定
例えば抽出更新の失敗通知の場合、そのメール通知は、データソースやワークブックの所有者に送信されます。そのため、所有者となるアカウント設定においてメールアドレスが登録済みであることを確認します。
さいごに
Tableau Server のサーバーイベントの通知構成に Amazon SES を使ってみました。
抽出更新の失敗やドライブの空き容量などは Tableau Server 運用において、ぜひとも通知しておきたいイベントかと思います。
こちらの内容が何かの参考になれば幸いです。